package com.cat.dataStructure02;

import java.util.ArrayList;

class FrontMiddleBackQueue {
    ArrayList<Integer> list = new ArrayList<>();

    public FrontMiddleBackQueue() {
    }

    public void pushFront(int val) {
        list.add(0, val);
    }

    public void pushMiddle(int val) {
        list.add(list.size() / 2, val);
    }

    public void pushBack(int val) {
        list.add(val);
    }

    public int popFront() {
        if (!list.isEmpty()) {
            return list.remove(0);
        }
        return -1;
    }

    public int popMiddle() {
        if (!list.isEmpty()) {
            return list.remove((list.size() - 1) / 2);
        }
        return -1;
    }

    public int popBack() {
        if (!list.isEmpty()) {
            return list.remove(list.size() - 1);
        }
        return -1;
    }
}